Judy is a C library that implements a dynamic array.  Empty Judy arrays are
declared with null pointers.  A Judy array consumes memory only when
populated yet can grow to take advantage of all available memory.  Judy's key
benefits are:  scalability, performance, memory efficiency, and ease of use.
Judy arrays are designed to grow without tuning into the peta-element range,
scaling near O(log-base-256).

Judy arrays are accessed with insert, retrieve, and delete calls for number
or string indexes.  Configuration and tuning are not required -- in fact not
possible.  Judy offers sorting, counting, and neighbor/empty searching.
Indexes can be sequential, clustered, periodic, or random -- it doesn't
matter to the algorithm.  Judy arrays can be arranged hierarchically to
handle any bit patterns -- large indexes, sets of keys, etc.

Judy is often an improvement over common data structures such as:  arrays,
sparse arrays, hash tables, B-trees, binary trees, linear lists, skiplists,
other sort and search algorithms, and counting functions.
